/**
 * @copyright Copyright (c) 2025 
 * CSG Digital Grid Technology (Guangdong) Co., Ltd.
 * @author klg
 * @brief 日志打印头文件，提供日志初始化和打印接口
 */
#ifndef __LOG_PRINT_H__
#define __LOG_PRINT_H__

typedef enum {
    MSG_VERBOSE = 0,
    MSG_DEBUG,
    MSG_INFO,
    MSG_WARNING,
    MSG_ERROR
} log_level_enum;


// zlog日志初始化信息
#define ZLOG_CONF "DataCenter.zconf"
#define ZLOG_NAME "DataCenter"

// 初始化日志
void log_init();

// 释放日志资源
void log_destory();

// 日志打印
void log_printf(int level, const char *fmt, ...);

// 错误信息打印
void log_printf_file_line(int level, const char *file, int line, const char *fmt, ...);

// 错误信息打印都带上文件名和行号
#define LOG_PRINTF_ERROR(fmt, ...) log_printf_file_line(MSG_ERROR, __FILE__, __LINE__, fmt, ##__VA_ARGS__)


// 检查zlog配置,修改输出日志等级
void check_zlog_conf(void);

#endif
